Information collected about customers in the retail industry is typically stored by individual retailers in one or more databases. The information is used by the retailer to facilitate communications with their customers, to assist with the billing of their customers, and to improve the marketing of products or services to their customers. The warehousing and mining of this information is often referred to as customer relationship management (CRM). A plethora of information technology services and tools have been created in recent years to assist retailers in developing CRM systems from their existing customer databases.
Many retailers are still finding the task of creating CRM systems daunting, because often each retailer will have multiple disparate legacy databases having information about customers, and these databases need to be integrated in order to achieve a complete customer data representation. Moreover, the quality and accuracy of any CRM system is directly dependent upon the completeness of the customer data on which it depends. Accordingly, one of the paramount prerequisites of any successful CRM system is to establish a centralized data representation of a customer.
To achieve this, requires a single database table with design consistency such that all the various permutations of similar customer attributes are identified within the table as a single consistent customer attribute. For example, consider two databases within a retail establishment, the first is used to record and market to customers purchasing by mail order catalogue, and the second is used to record and market to customers purchasing by phone.
Over the course of time, each of these databases may have been populated, enhanced, and utilized by two separate business units within the retail establishment. As a result, each database table may represent attributes associated with the same customer in mutually exclusive manners making the integration of the two databases a labor intensive and expensive process for the retail establishment.
For instance, if the first database table recorded the various phone numbers of a customer as fields or attributes with field names such as “phone1” “phone2,” “phone3,” and the like, while the second database table recorded the same phone numbers of the customer as fields or attributes with field names such as “home,” “cell,” “work,” and the like, then creating a centralized representation of the customer would require mapping the disparate naming conventions to a single consistent naming convention. Moreover, if each database has any significant number of attributes associated with each customer within the database, then the mapping of the disparate attributes of the two databases to a consistent schema may be very expensive for the retail establishment. Furthermore, achieving a consistent naming convention for disparate database tables is largely a manual process which typically cannot be achieved through automated software processes.
As one skilled in the art will readily appreciate, as the number of disparate databases and disparate naming conventions for attributes of each database increases within a retail establishment, the expense of migrating to a consistent centralized database will corresponding increase as well. Therefore, many retail establishments have been slow to migrate towards the CRM paradigm, and they have not benefitted, to any significant degree, from the CRM services and tools available in the industry.
Accordingly, methods are needed wherein a single database table definition would permit the rapid and easy migration of disparate database tables into a single consistent table. To achieve this, the cardinality (e.g., the relationship between the attribute and the value of the attribute, such as by way of example only, one to one, one to many, and the like) associated with the database attributes must be dynamically modifiable. By permitting the attributes of a table definition, associated with a database table, to be dynamically configured a single table definition may be defined wherein disparate attributes are seamlessly integrated.
In this way, retail establishments and any other organization, may rapidly and efficiently integrate all the information within the establishment's disparate databases by migrating the databases to a single table definition using standard automated database extraction and database insertion operations. This permits establishments the ability to rapidly create powerful and centralized data warehouses without the need to eliminate or modify any established information collection processes.
Database designers cannot adequately predict all of the attributes that will ever be of interest, correspondingly a flexible design approach to accommodate any unforeseen attributes which develop over the course of time is desirable. The adaptability of a new approach, which would permit a single database design to integrate with multiple disparate customer database environments without changing the single design, is highly desirable.